package model

import (
	"go.mongodb.org/mongo-driver/bson/primitive"
	"time"
)

type Message struct {
	Id             primitive.ObjectID     `bson:"_id,omitempty"`
	ChatId         int64                  `bson:"conversation_id"`           // MySQL中的对话ID
	SequenceNum    int                    `bson:"sequence_num"`              // 在对话中的序号
	Source         int                    `bson:"source"`                    // 来源: 1deepseek 2通义
	Model          string                 `bson:"model"`                     // 模型
	Role           string                 `bson:"role"`                      // 角色: user, assistant, system
	Content        string                 `bson:"content"`                   // 消息内容
	AttachmentURLs []string               `bson:"attachment_urls,omitempty"` // 附件URL
	TokenCount     int                    `bson:"token_count,omitempty"`     // token计数
	Timestamp      time.Time              `bson:"timestamp"`                 // 消息时间戳
	Metadata       map[string]interface{} `bson:"metadata,omitempty"`        // 额外元数据
	Hidden         bool                   `bson:"hidden,omitempty"`          // 是否隐藏（用于RAG场景，隐藏系统生成的消息）
}
